package com.njitzx.service;

import com.njitzx.entity.dto.PassWordVO;
import com.njitzx.entity.dto.UpdateUserVO;
import com.njitzx.entity.po.User;
import com.njitzx.entity.vo.UserInfoVO;
import com.njitzx.entity.vo.UserQueryDTO;
import com.njitzx.entity.vo.UserVO;

import java.io.Serializable;
import java.util.Map;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author 周鑫
 * @since 2024-08-20
 */
public interface UserService {
    Map<String, Object> findPage(Integer pageNum, Integer pageSize, UserVO user);

    UserQueryDTO findById(Serializable id);

    void add(User user);

    void modify(User user);

    void removeById(Serializable id);

    void updateStatus(Integer id, Integer state);

    void updateRoleId(Integer id, Integer roleId);

    UserInfoVO getUserInfo();

    void changePassword(Integer id, PassWordVO passWordVO);

    void updateInfo(Integer id, UpdateUserVO updateUserVO);
}
